#ifndef IMSI_LUA_MAIN_H
#define IMSI_LUA_MAIN_H

#include "Defines.h"

class Core;

class ScriptEngine : boost::noncopyable
{
protected:
    lua_State* mInterpreter;
    void InitializeDefaultSkripts();
    void Call(const String& aFunction, const char*, ...);
    void RegisterCore(Core& aInstaller);
    void Initialize(const std::list<String>& aFiles);

protected:
    ScriptEngine();

public:
    ~ScriptEngine();

friend class Core;

};

#endif // IMSI_LUA
